package demo04;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

/**
 * 第四题: 通过代码, 完成如下需求:
 * 1. 创建一个HashMap集合，存储三个键值对元素，键表示书名(String)，值是书中人物名(ArrayList<String>)
 * 2. 第一个ArrayList集合的元素: (三国演义)
 * 诸葛亮
 * 赵云
 * 3. 第二个ArrayList集合的元素: (西游记)
 * 唐僧
 * 孙悟空
 * 4. 第三个ArrayList集合的元素: (水浒传)
 * 武松
 * 鲁智深
 * 5. 遍历HashMap集合, 输出每一个元素.
 */
public class demo04 {
    public static void main(String[] args) {
        //创建一个HashMap集合，存储三个键值对元素，键表示书名(String)，值是书中人物名(ArrayList<String>)
        HashMap<String, ArrayList<String>> hs = new HashMap<>();

        //第一个ArrayList集合的元素: (三国演义) 诸葛亮  赵云
        ArrayList arr1 = new ArrayList();
        arr1.add("诸葛亮");
        arr1.add("赵云");
        hs.put("三国演义", arr1);

        //第二个ArrayList集合的元素: (西游记)  唐僧  孙悟空
        ArrayList arr2 = new ArrayList();
        arr2.add("唐僧");
        arr2.add("孙悟空");
        hs.put("西游记", arr2);

        //第三个ArrayList集合的元素: (水浒传)   武松  鲁智深
        ArrayList arr3 = new ArrayList();
        arr3.add("武松");
        arr3.add("鲁智深");
        hs.put("水浒传", arr3);

        //遍历HashMap集合, 输出每一个元素.
        for (String s : hs.keySet()) {
            System.out.println(s + ":");
            for (String name : hs.get(s)) {
                System.out.println("\t" + name);
            }
        }

        System.out.println("-----------------------------------");
        for (Map.Entry<String, ArrayList<String>> entry : hs.entrySet()) {
            System.out.println(entry.getKey() + ":");
            for (String name : entry.getValue()) {
                System.out.println("\t" + name);
            }
        }
    }
}
